Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

uefi: Fix wrong install_configuration_table() signature #843

Merged
merged 1 commit into from
Jun 4, 2023
Merged

uefi: Fix wrong install_configuration_table() signature #843

merged 1 commit into from
Jun 4, 2023

Conversation

medhefgo
Copy link
Contributor

@medhefgo medhefgo commented Jun 2, 2023

Interestingly, this crashes on aarch64 but works on x86_64. Likely,
the x86_64 calling convention used still passes the Guid struct by
pointer, while the aarch64 passes it by value (or in an unexpected
registers) causing a crash.

This also adds a test case to verify this works correctly now.

Fixes: #842

@nicholasbishop nicholasbishop mentioned this pull request Jun 2, 2023
2 tasks
Copy link
Member

@nicholasbishop nicholasbishop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, thanks for the fix. I put up #844 with the lint/align fixes cherry-picked in, as well as one more ci fix, so we can get the CI green again.

Interestingly, this crashes on aarch64 but works on x86_64. Likely,
the x86_64 calling convention used still passes the Guid struct by
pointer, while the aarch64 passes it by value (or in an unexpected
registers) causing a crash.

This also adds a test case to verify this works correctly now.

Fixes: #842
@nicholasbishop nicholasbishop merged commit d7697c3 into rust-osdev:main Jun 4, 2023
@medhefgo medhefgo deleted the install-configuration-table branch June 4, 2023 15:15
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Core abort on Aarch64
2 participants